package com.yunpeng.aidevice.dao.service;

import com.yunpeng.aidevice.dao.model.record.DictionariesDO;

import java.util.List;

/**
 * IDictionariesService 字典数据服务
 *
 * @author : Moore(hemw)
 * @date : 2020-04-13
 */
public interface IDictionariesService {
    /**
     * 根据业务域和字典组查询字典数据集合
     *
     * @param domain 业务域
     * @param group  字典组
     * @return
     */
    List<DictionariesDO> queryDictionariesList(String domain, String group);

    /**
     * 根据组集合获取字典集合
     *
     * @param domain 域
     * @param groups 组集合
     * @return
     */
    List<DictionariesDO> getByGroupList(String domain, List<String> groups);

    /**
     * 更新字典
     *
     * @param domain 域
     * @param group  组
     * @param key    键
     * @param value  值
     * @return
     */
    Boolean updateDictionaries(String domain, String group, String key, String value);

    /**
     * 获取服务器序号列表
     *
     * @return
     */
    List<String> getServerMachineNumberList();

    /**
     * 获取系统默认用户代码
     *
     * @return
     */
    String getDefaultUserCode();

    /**
     * 获取用户登录后默认角色
     *
     * @return
     */
    String getSystemDefaultRole();

    /**
     * 获取系统运维管理员权限
     *
     * @return
     */
    String getSystemAdminRole();

    /**
     * 系统业务运营管理员
     *
     * @return
     */
    String getSystemOperateAdminRole();

    /**
     * 系统默认租户代码
     *
     * @return
     */
    String getSystemDefaultTenantCode();

    /**
     * 设备通知规则名
     *
     * @return
     */
    String getSystemDeviceNoticeRuleName();

    /**
     * 设备通知参数名
     *
     * @return
     */
    String getSystemDeviceNoticeParameterName();

    /**
     * 设备通知默认温度值
     *
     * @return
     */
    Double getSystemDefaultNoticeTemp();

    /**
     * 德沃数据上传接口地址
     *
     * @return
     */
    String getDwUploadDataApi();

    /**
     * 限定的文件后缀
     *
     * @return
     */
    String getFileAllowSuffix();

    /**
     * 最大文件大小
     *
     * @return
     */
    Long getMaxFileSize();

    /**
     * 文件保存地址
     *
     * @return
     */
    String getFileSavePath();

    /**
     * 文件访问地址
     *
     * @return
     */
    String getFileAccessUrl();
}
